#pragma once

#include <atlstr.h> // for CString

class CCanvas;
class CGISApplication;
class CMapLayerMgr;
class CTool;

class CGISApplication
{
public:
    CGISApplication(void);
    ~CGISApplication(void);
    static CGISApplication* getGISApplication();
    //the directory of current running application
    CString getApplicationDirectory();
    void setApplicationDirectory(CString applicationDirectory);
    CString getSRSDbFilePath();
    CString getUserDbFilePath();
    CCanvas* getCanvas();
    CMapLayerMgr* getMapLayerMgr();
	CTool* getActiveTool(){return m_pActiveTool;}
private:
    CString m_applicationDirectory;
    //current Canvas for display map layers;
    CCanvas* m_pCanvas;
    CMapLayerMgr* m_pMapLayerMgr;
	CTool* m_pActiveTool;
    static CGISApplication* m_pGISCurApplication;
};
